package edu.gdpu.concurrent;

import java.util.concurrent.atomic.AtomicInteger;

/**
 * @author mazebin
 * @date 2021年 07月09日 23:00:43
 * Atomic变量自增测试
 */
public class AtomicTest {
    public static AtomicInteger atomicInteger = new AtomicInteger(0);
    public static void increase(){
          atomicInteger.incrementAndGet();
    }
    public static final  int THREAD_COUNT=20;

    public static void main(String[] args) {
        for (int i = 0; i < THREAD_COUNT; i++) {
          new Thread(()->{
              for (int j = 0; j < 1000; j++) {
                  increase();

              }
            }).start();

        };
        //等待所有累加线程都结束,如果还有线程在运行，主线程就让出cpu资源
        while (Thread.activeCount() > 2) {//由于idea原因此处不能为一
            Thread.yield();
        }
        System.out.println(atomicInteger);
    }
}
